2023/12/234161字符
package 解析
package.json
{
"name": "project-name", // 必须小于等于214个字符,不能以.或_开头,不能有大写字母
"version":"1.0.0", // 版本号
"description": "antd-theme", // 描述信息,有助于人们在 npm 库中搜索的时候发现你的模块
"keywords":["node.js","antd", "theme"], // 关键词,类似于 SEO 优化
"homepage": "https://zhiqianduan.com", // 项目主页地址
"bugs":{"url":"http://path/to/bug","email":"yindong@xxxx.com"}, // 用于项目问题的反馈issue地址或者一个邮箱
"license": "ISC", // 是当前项目的协议
"author": "bozai 1781926993@qq.com (http://hpyyb.cn/)", // 当前项目的共享者
"contributors": [ // 当前项目的共享者
{"name":"bozai","email":"1781926993@qq.com"}
],
"files": [], // 包含文件
"main": "main.js", // 入口文件
"bin": {
"webpack": "bin/index.js", // 指定每个内部命令对应的可执行文件的位置
// 在模块以依赖的方式被安装,如果存在bin选项。在node_modules/.bin/生成对应的文件,Npm会寻找这个文件,在node_modules/.bin/目录下建立符号链接。
// 由于node_modules/.bin/目录会在运行时加入系统的PATH变量,因此在运行npm时,就可以不带路径,直接通过命令来调用这些脚本。
}
"man": ["./doc/calc.1"], // 指定当前模块的man文档的位置
"directories": "", // 制定一些方法来描述模块的结构, 用于告诉用户每个目录在什么位置
"repository": { // 指定一个代码存放地址,对想要为你的项目贡献代码的人有帮助
"type": "git",
"url": "https://path/to/url"
},
"scripts": { // 运行脚本命令的npm命令行缩写
"start": "node server.js"
},
"config": { // 添加命令行环境变量 process.env.npm_package_config_port --> 8080
"port" : "8080"
},
"dependencies": {}, // 项目运行所依赖的模块
"devDependencies": { // 项目开发所需要的模块
"@babel/core": "^7.14.3",
"@babel/preset-env": "^7.14.4",
"@babel/preset-react": "^7.13.13",
"babel-loader": "^8.2.2",
"babel-plugin-import": "^1.13.3",
"glob": "^7.1.7",
"less": "^3.9.0",
"less-loader": "^9.0.0",
"style-loader": "^2.0.0",
"webpack": "^5.38.1",
"webpack-cli": "^4.7.0",
"webpack-dev-server": "^3.11.2"
},
"peerDependencies": { // 当我们开发一个模块的时候,如果当前模块与所依赖的模块同时依赖一个第三方模块,并且依赖的是两个不兼容的版本时就会出现问题
"tea": "2.x"
},
"bundledDependencies": [ // 指定发布的时候会被一起打包的模块
"renderized", "super-streams"
],
"engines": { // 指明了该模块运行的平台,比如 Node 或者 npm 的某个版本或者浏览器
"node" : ">=0.10.3 <0.12",
"npm" : "~1.0.20"
},
"os" : [ "win32", "darwin", "linux" ], // 可以指定你的模块只能在哪个操作系统上运行
"cpu" : [ "x64", "ia32" ], // 限制模块只能在某种架构的cpu下运行
"private": false, // 为 true 时 npm 将拒绝发布,为了防止一个私有模块被无意间发布出去
"publishConfig": { // 这个配置是会在模块发布时生效,用于设置发布用到的一些值的集合。如果你不想模块被默认标记为最新的,或者默认发布到公共仓库,可以在这里配置tag或仓库地址
"tag": "1.0.0",
"registry": "https://registry.npmjs.org/",
"access": "public"
},
"preferGlobal": "true", // 表示当用户不将该模块安装为全局模块时(即不用–global参数),要不要显示警告,表示该模块的本意就是安装为全局模块
"browser": { // 指定该模板供浏览器使用的版本。Browserify这样的浏览器打包工具,通过它就知道该打包那个文件
"tipso": "./node_modules/tipso/src/tipso.js"
},
}